1. Field of the invention
The present invention relates to a data transmission system, and more specifically to a data transmission system for transmitting data between a plurality of microcomputer application instruments.
2. Description of related art
Recently, with a high level function and a high level performance of microcomputer incorporating systems, namely, microcomputer application instruments, a function of a data communication between the instruments has become important, and in addition, there is a tendency that the amount of data communication is increasing. Furthermore, since the microcomputer application instrument itself can take an initiative position, namely, a master station function, in the data communication function, the data communication between the microcomputer application instruments inevitably involves a plurality of master stations. In this specification, the microcomputer application instrument will be called a "master unit", and the communication conducted by the master unit will be called a "master communication".
With a spreading of a high level function complex system constituted of a combination of a plurality of microcomputer application instruments as mentioned above, it is estimated that there frequently occurs a contention among requests for the communication between the master units. Accordingly, a period in which the master unit can surely initiate joining in the communication, namely, a joining enable period, is restricted to a very short period.
FIG. 1A is a flow chart illustrating a communicating procedure of each master unit in a prior art complex system including a plurality of master units. FIG. 1B is a time chart illustrating a communication sequence in the prior art complex system including a plurality of master units. Now, a communicating procedure performed in each master unit will be described with reference to FIGS. 1A and 1B. First, in a step P1, each master unit monitors the condition of the communication bus, and discriminates whether or not communication on the communication bus by another master has ended, namely, whether or not the communication bus is in a communication start possible condition. If the communication start is not allowable, the master unit performs a polling until the communication bus becomes the communication start possible condition.
When the communication bus is in the communication start possible condition, the master unit is then required to ceaselessly detect, under a program instruction, whether or not the master unit itself is in a communication ready condition (step P2). As a result, another processing cannot be executed in the master unit during a period in which the master unit ceaselessly detects whether or not the master unit itself is in the communication ready condition. If it is detected in the step P2 that it is in the communication ready condition, the master unit dispatches a request for the master communication, namely, performs an entry for a master communication start (step P3). If the master communication is actually possible, the master unit actually starts the master communication (step P4).
Incidentally, a mainer for discriminating the communication ready condition by an interrupt will be described. When the communication bus becomes the communication start possible condition, an interrupt is generated, and in an interrupt processing, the entry for the master communication start is conducted if necessary. If the master communication is in the ready condition, the master communication is started.
However, there often occurs a case that after the moment a first master unit has discriminated that the communication bus is in the communication start possible condition but before the first master unit actually starts the master communication (namely, in a period from the step P1 to the step P4), a second master unit starts its master communication. In this case, the first master unit cannot perform the entry for the master communication start, and therefore, cannot actually start the master communication. If the first master unit actually starts the master communication, it disturbs the master communication executed by the second master unit.
In the prior art system constituted of a combination of a plurality of microcomputer application instruments, the number of the master units is two or three at the most in ordinary cases and never reaches ten. Accordingly, since the frequency of the above mentioned case is not so high in an actual communication situation, even if a first attempt of the master communication fails, if the attempt of the entry for the master communication is repeated, the master communication can finally become successful. However, in the recent high level function complex system including a number of master units, the data communication is performed among a number of master units at a very high frequency, and there is occurs a situation that even if the master communication is always requested, the master communication cannot be actually executed